package com.dog.modules.file.utils;


import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.file.FileNameUtil;

import java.io.File;
import java.util.Date;

/**
 * 文件上传工具类
 *
 * @author thinglinks
 */
public class FileUtils {

    /**
     * 根据文件名，生成带时间戳的新文件名
     *
     * @param fileName 文件名
     * @return 返回带时间戳的文件名
     */
    public static final String getNewFileName(String fileName) {
        // 主文件名，不包含扩展名
        String prefix = FileNameUtil.getPrefix(fileName);
        // 文件扩展名
        String suffix = FileNameUtil.getSuffix(fileName);
        // 把当天HH:mm:ss，转换成秒
        long time = DateUtil.timeToSecond(DateUtil.formatTime(new Date()));
        // 新文件名
        return prefix + "_" + time + "." + suffix;
    }

    /**
     * 生成路径，不包含文件名
     *
     * @return 返回生成的路径
     */
    public static final String getPath() {
        // 文件路径
        String path = DateUtil.format(new Date(), "yyyyMMdd");
        return path;
    }

    /**
     * 根据文件名，生成路径
     *
     * @param fileName 文件名
     * @return 生成文件路径
     */
    public static final String getPath(String fileName) {
        return getPath() + File.separator+ getNewFileName(fileName);
    }



    }